The invention is applicable to the field of digital data communications in general. In particular, it is useful to send CDMA multiplexed transmissions of data from timeslots of a time division multiplexed system.
The cable TV industry is evolving toward systems which can bidirectionally communicate digital data over the HFC in addition to one directional delivery of analog video signals over the same HFC media. This is useful for delivery of high speed internet access and telephone services to cable subscribers. These digital services are delivered by cable modems. Two closely related standards that are evolving for compatibility between cable modems are the 802.14 and MCNS standards with use time division multiplexing to provide multiple simultaneous access to the media for many subscribers. The assignee of the present invention has developed cable modems that are currently publicly available and which use synchronous code division multiple access (SCDMA) to provide simultaneous multiple access to the HFC media to multiple subscribers.
An emerging standard for use in digital multi-service delivery through TV distribution systems is MCNS. In this standard, MAC layer data frames are broken down into MPEG packets which are 64-QAM or 256-QAM modulated and sent downstream in a continuous stream after FEC encoding. The FEC encoding involves four layers of processing: the MPEG packets are broken up and encoded into Reed-Solomom blocks with block boundaries bearing no relationship to MPEG packet boundaries; an interleaver mixes up the resulting 7 bit symbols so symbols formerly contiguous in time are no longer contiguous; a randomizer that takes the output of the interleaver and scrambles the symbols in pseudorandom order; and a trellis encoder adds some redundant bits. There are no gaps in the downstream data in which the CU can send a barker code which carries the master chip clock and which signals frame boundaries. There are no downstream frame boundaries related to the MPEG packet frames, but there are FEC frames delineated by a 42 bit FEC sync trailer appended to the end of 60 R-S blocks for 64-QAM, each R-S block containing 128 7 bit symbols. There is a 28-bit unique sync pattern in the first 4 symbols of the trailer. The remaining 14 bits are utilized for interleaver control. The trailer is inserted by the R-S encoder and detected by the R-S decoder to locate FEC frame boundaries. There is no synchronization coupling between the FEC and transport layers where MPEG packets are processed.
The 802.14 standard uses minislots in a TDMA scheme to transmit data both upstream and downstream. The MCNS standard, like the 802.14 standard uses minislots and a TDMA scheme.
The assignee of the present invention is undertaking an effort to develop a new generation of cable modems that are compatible with the minislot based TDMA schemes of 802.14 and MCNS compliant media access control (MAC) software layers at the central unit (CU) at the headend and at the subscriber sites (remote units or RUs). These cable modems will still use SCDMA technology for transmission over the media and will map symbols in minislots to various spreading codes and frames in a two dimensional code-time matrix.
A co-pending application assigned to the assignee of this invention entitled APPARATUS AND METHOD FOR SYNCHRONIZING AN SCDMA UPSTREAM OR ANY OTHER TYPE UPSTREAM TO AN MCNS DOWNSTREAM OR ANY OTHER TYPE DOWNSTREAM WITH A DIFFERENT CLOCK RATE THAN THE UPSTREAM, filed May. 6, 1998 Ser. No. 09/074,036 describes solutions to some of the problems of adapting SCDMA to MCNS or 802.14 minislot environments. The entire contents of patent application Ser. No. 09/074,036 are hereby incorporated by reference.
One problem with using such a two dimensional matrix for transmitting symbols from assigned minislots is burst interference. Suppose 8 symbols from a minislot to be transmitted upstream or downstream are placed in the matrix without interleaving in such a way that they are transmitted contiguous in time over a short interval. In this situation, if a short burst of interference that has a duration long enough to corrupt an appreciable number of the 8 symbols from the minislot, the loss of data can exceed the error detection and correction capability of the ECC bits added to the payload data thereby resulting in lost payload data. Likewise, because of imperfections in system timing in the SCDMA transmitters, if data from the same frame numbers transmitted by different RUs do not arrive at the CU exactly aligned in time (frame boundaries coincident in time at the CU for all frames transmitted by all RUs regardless of different path lengths for each RU), there will be interference between data transmitted on different adjacent orthogonal, cyclic codes. If this interference is large enough, payload data can be sufficiently corrupted to exceed the error detection and correction capability of the ECC bits.
Therefore, a need has arisen for a method and apparatus of interleaving symbols from minislots in both the time and code dimension so that symbols from the same minislot are not transmitted close enough in time to each other or on codes which are close enough in the cyclic code sequence to suffer from burst noise or intercode interference.
The teachings of the invention contemplate a genus of interleavers which are capable of interleaving a one dimensional array of sequential symbols to be transmitted in a code division multiplexed system into an interleaved two-dimensional array having one axis along the code dimension and the other axis along the time dimension. The first method of interleaving calculates i and j indices for use in generating RAM addresses for storing or reading symbols out of RAM with i calculated as a function of the index of the symbol to be stored and read and the number of codes allocated, i.e., the number of rows in the matrix. Index j is calculated as a function of the design factor Col_Space which is equal to an integer number of sequential columns that might be affected by burst noise. The resulting i and j indices cause the sequentially received symbols to be interleaved in such a manner that no two symbols in a pair from any column of between columns within an adjacent number of columns are closer together in time by a number of indices, i.e., symbol transmission times, that is less than a design parameter vertical distance, d.
The second method of interleaving interleaves in both design parameter Col_Space and a calculated parameter ROWSPACE which is the integer number of adjacent rows or codes in the array that could be adversely affected by intercode interference caused by frame alignment or other imperfections in the system. Again, indices i and j are calculated from which RAM addresses are generated. Index i is calculated as a function of the ROWSPACE, the symbol index n and the number of codes calculated for use in method 2. The index j is calculated as a function of the Col_Space, the symbol index n and the number of columns in the array. The result is an interleaved array wherein no two symbol indices anywhere in a number of adjacent columns defined by Col_Space are closer together than vertical distance, d, and no two symbol indices anywhere in a number of adjacent rows defined by ROWSPACE are closer together than HOR_DIST, a design parameter which is given to the interleaver.